// GRID
function print_grid(){
	$("#list").jqGrid({
		url:'usuarios/backend.php?action=grid_users', 
		datatype: "json", 
		colNames:['Id','Usuario','Tipo','Intentos','Nombre','Email','Activo'], 
		colModel:[  
			{name:'id_usuario',index:'id_usuario', width:20, align:"center"},
			{name:'nombre_usuario',index:'nombre_usuario', width:90, align:"center"},
			{name:'tipo',index:'tipo', width:60, align:"center"},
 			{name:'intentos',index:'intentos', width:30, align:"center"},
  			{name:'nombre',index:'nombre', width:90, align:"center"},
			{name:'email',index:'email',width:90,align:"center"},
			{name:'activo',index:'activo',width:30,align:"center",search:false}
		], 
		rowNum:15, 
		height:280,
		width: 780,
		rowList:[15,30,45], 
		pager: '#pager', 
		sortname: 'id_usuario', 
		autowidth: false,
		viewrecords: true, 
		sortorder: "asc", 
		caption:"Gestión de Usuarios",
		
		onSelectRow: function(id)
		{
			if($('#list').getCell(id,"activo")=="Activado")
			{
					$('#habilitar_user').css("display","none");
					$('#deshabilitar_user').css("display","block");
			}
			else{
					$('#habilitar_user').css("display","block");
					$('#deshabilitar_user').css("display","none");
			}
		}}); 

	//$("#list").jqGrid('navGrid','#pager',{edit:false,add:true,del:false});
	
	// Desactivamos todos lo botones
	$("#list").jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false}); 
	
	// Boton insertar
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Insertar ",
		buttonicon :'ui-icon-plus',
		onClickButton : function (){ 
			nuevoUsuario();
		} 
	}); 
	
	// Boton modificar
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Modificar ", 
		buttonicon :'ui-icon-pencil',
		onClickButton : function (){ 
			modificarUsuario();
		} 
	}); 
	
	// Boton borrar
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Borrar ", 
		buttonicon :'ui-icon-trash',
		onClickButton : function (){ 
			borrarUsuario();
		}
	}); 
	
	// Boton habilitar
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Habilitar ", 
		buttonicon :'ui-icon-circle-plus',
		id: 'habilitar_user',
		onClickButton : function (){ 
			habilitar_usuario();
		} 
	}); 
	
	// Boton deshabilitar
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Deshabilitar ", 
		buttonicon :'ui-icon-circle-minus',
		id: 'deshabilitar_user',
		onClickButton : function (){ 
			deshabilitar_user();
		} 
	}); 
	
	$("#list").jqGrid('filterToolbar'); 
}

// Muestra el formulario de usuarios
function nuevoUsuario()
{
	
	// Llama al formulario "formUsuario"
	$.get("usuarios/backend.php?action=formUsuario", function(data){
		$('#jqgrid_list').css('display','none');
		$('#formulario').html(data);
		$('#formulario').css('display','');
	});
	
	$("#list").trigger("reloadGrid");	// Recargamos el jqgrid
	return false;
	
}

// Muestra el formulario de modificar usuario
function modificarUsuario()
{

	var id_usuario = $("#list").jqGrid('getGridParam','selrow'); 

	if( id_usuario == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		// Llama al formulario "formUsuario" pasando el "id_usuario"
		$.get("usuarios/backend.php?action=formUsuario&id_usuario="+id_usuario, function(data){
			$('#jqgrid_list').css('display','none');
			$('#formulario').html(data);
			$('#formulario').css('display','');
		});
	}
	
	return false;
	
}

// Deshabilita el usuario seleccionado
function deshabilitar_user()
{

	// Obtenemos el id del usuario seleccionado
	var id_usuario = $("#list").jqGrid('getGridParam','selrow');
	
	if( id_usuario == null ){
		alert("Para habilitar a un usuario primero debes seleccionarlo."); 
	}else{
		// Llama al case PHP "deshabilitar_user" pasando el "id_usuario"
		$.get("usuarios/backend.php?action=deshabilitar_user&id_usuario="+id_usuario, function(data){
			$('#deshabilitar_user').css("display","none");
			$("#list").trigger("reloadGrid"); // Recargamos el jqgrid
		});
	}
	$("#list").trigger("reloadGrid"); // Recargamos el jqgrid
	return false;
	
}

// Habilita el usuario seleccionado
function habilitar_usuario()
{

	// Obtenemos el id del usuario seleccionado
	var id_usuario = $("#list").jqGrid('getGridParam','selrow'); 
	
	if( id_usuario == null ){
		alert("Para habilitar a un usuario primero debes seleccionarlo."); 
	}else{
		// Llama al case PHP "habilitar_user" pasando el "id_usuario"
		$.get("usuarios/backend.php?action=habilitar_user&id_usuario="+id_usuario, function(data){
			$('#habilitar_user').css("display","none");
			$("#list").trigger("reloadGrid");	// Recargamos el jqgrid
		});
	}
	$("#list").trigger("reloadGrid");	// Recargamos el jqgrid
	return false;
	
}

// Borra el usuario seleccionado
function borrarUsuario()
{
	var id_usuario = $("#list").jqGrid('getGridParam','selrow'); 

	if( id_usuario == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		if(!confirm("¿Está seguro de que desea eliminar el registro seleccionado?"))
			exit(); 
		// Llama al case PHP "borrar" pasando el "id_usuario"
		$.get("usuarios/backend.php?action=borrar&id_usuario="+id_usuario, function(data){
			$("#list").trigger("reloadGrid");
		});
	}
	return false;
}

// Inserta o modifica de pendiendo del valor que contega action
function guardar(action){
	
	// Llama a la función PHP que contenga la variable "action" 
	$.get("usuarios/backend.php?action="+action,$("#form_usuario").serialize(), function(data){

				switch(data){
					
					// No introduce el nombre de usuario
					case 'username':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Por motivos de seguridad, debe introducir un nombre de usuario.</b></font>";
					break;
					
					// No ha introducido contraseña
					case 'password':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Por motivos de seguridad, debe introducir una contraseña.</b></font>";
					break;
					
					// La segunda contraseña es incorrecta
					case 'password2':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>La segunda contraseña es incorrecta.</b></font>";
					break;
					
					// El email no es valido
					case 'email':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca un e-mail valido.</b></font>";
					break;
					
					// El proveedor no ha sido seleccionado
					case 'proveedor':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Por motivos de seguridad, debe seleccionar un proveedor.</b></font>";
					break;
					
					// El tipo de usuario no ha sido seleccionado
					case 'tipo':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Por motivos de seguridad, debe seleccionar un tipo de usuario.</b></font>";
					break;
					
					// Ha introducido una contraseña que es igual al nombre de usuario		
					case 'mal_password':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Por motivos de seguridad, deber tener una contrasea distinta a su nombre de usuario.</b></font>";
					break;	
					
					// El nombre de usuario esta usado
					case 'nombre_usado':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Ese Nombre de Usuario est&aacute; ocupado, c&aacute;mbielo por alguno similar.</b></font>";
					break;	
					
					// OK
					case 'OK':
						
						$('#jqgrid_list').css('display','');
						$('#formulario').html('');
						$('#formulario').css('display','none');
						$("#list").trigger("reloadGrid");		// Recarga el jqgrid
						
					break;						
													
				}	
	});
	
}

// Vuelve al formulario anterior
function volver_atras()
{
	
	$('#jqgrid_list').css('display','');
	$('#formulario').html('');
	$('#formulario').css('display','none');
		
}

// Pone a blanco los títulos de error
function reiniciar_titulos()
{
	
	contenedores = new Array('Id','Usuario','Intentos','Nombre','Email','Activo');
	for(i=0;i<contenedores.length;i++){
		document.getElementById('cont_'+contenedores[i]).style.color= "#000000";
		document.getElementById('cont_'+contenedores[i]).style.fontWeight= "normal";
	}
	
}

// Muestra los errores con estilo rojo y negrita
function titulo_error(var_cont)
{
	reiniciar_titulos();
	document.getElementById('cont_'+var_cont).style.color= "red";
	document.getElementById('cont_'+var_cont).style.fontWeight= "bold";			
	document.getElementById('contenedor').innerHTML = "<font color='red'><b>Hay campos err&oacute;neos o sin cumplimentar</b></font>";
}

// Oculta y muestra los combobox dependiendo del tipo de usuario
function ocultar()
{
    switch(document.getElementById("id_tipo").value)
	{
        case '1': 
          	document.getElementById("id_proveedor").style.visibility="hidden";
          	document.getElementById("div_prov").style.visibility="hidden";
        break;
        
        case '2':
        	document.getElementById("id_proveedor").style.visibility="visible";
        	document.getElementById("div_prov").style.visibility="visible";
        break;
        
        default:
        	document.getElementById("id_proveedor").style.visibility="hidden";
        	document.getElementById("div_prov").style.visibility="hidden";
        break;
    }
 }

